// File:     Path.hpp
//
// Modified: 2011 Jan. 27
//
// 
//

#ifndef _PATH_HPP_
#define _PATH_HPP_

#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <iostream>
#include <math.h>

#include "CircleDetection.hpp"

#define MAX_X_RESOLUTION 1369	// This number will change once we found the resolution of the camera shots
#define MAX_Y_RESOLUTION 621	// This number will change once we found the resolution of the camera shots

using namespace std;


class Path {

		struct Marker {		// This struct will be used to draw marker lines for the circles, which then we will use line iterators for dijkstra's algorithm
			CvPoint x1;
			CvPoint x2;
			CvPoint y1;
			CvPoint y2;
		};


public:	
			Path::Path(char* imgName);
			// @des:
			// @input:
			// @output:
			
			Path::~Path();
			// @des:
			// @input:
			// @output:

			CircleDetection* Path::getCircleDetection() const;
			// @des:
			// @input:
			// @output:

private:
			CircleDetection* circleDetection_;	// Corresponding circle detection object for the path
			CvLineIterator points_;
};

#endif 